package com.Math;

public class RegexDemo1 {
    public static void main(String[] args) {
        /*
                假如现在要求校验一个qq号码是否正确。
                   规则：6位及2e位之内，e不能在开头，必须全部是数字
              先使用目前所学知识完成校验需求
                 然后体验一下正则表达式检验。*/
        String qq = "019841741";
        boolean flag = result(qq);
        if ( !flag){
            System.out.println("输入的QQ号码格式不正确");
            return;
        }
        System.out.println("输入的QQ号码格式正确");

    }
    //首先定义一个boolean类型的方法进行判断
    //其次我们写代码时最好使用排异思想：
    //排异思想：先把异常数据进行处理，处理之后，如果数据正常，接着进行下一个排异数据处理
    //直到完成目的
    public static boolean result(String qq){
       /* 假如现在要求校验一个qq号码是否正确。
        规则：6位及20位之内，0不能在开头，必须全部是数字
                先使用目前所学知识完成校验需求
        然后体验一下正则表达式检验。*/
        //第一步：6位及20位之内
        if(qq.length()<6 || qq.length()>20){
            return false;
        }

        //第二步：0不能在开头
        if(qq.startsWith("0")){
            return false;
        }

        //第三步：必须全部是数字
        for (int i = 0; i < qq.length(); i++) {
            char c = qq.charAt(i);
            if(c<'0' || c>'9'){
                return false;
            }
        }

        return true;


    }

}
